package sanrenxing.dayEnd.backRepertoryTotal.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import sanrenxing.dayEnd.backRepertoryTotal.dao.TabaseDao;
import sanrenxing.dayEnd.backRepertoryTotal.domain.SettingOfSecurities;
import sanrenxing.dayEnd.backRepertoryTotal.domain.Tabase;
import sanrenxing.dayEnd.backRepertoryTotal.domain.TabaseT;
import sanrenxing.dayEnd.backRepertoryTotal.service.TabaseService;

import java.text.SimpleDateFormat;
import java.util.List;

/**
 * Description:
 * date：2021/3/12 0012 上午 9:03
 * @auther ${梁树仁}
 * @version：
 * @since JDK 1.8
 **/
@Service("TabaseService")
public class TabaseServiceImpl implements TabaseService {
    @Autowired
    private TabaseDao tabaseDao;

    /**
     * 增加一行ta交易数据
     * @param tabaset
     * @return
     */
    @Override
    public int add(TabaseT tabaset) {
        return tabaseDao.add(tabaset);
    }

    /**
     * 删除一行Ta交易数据
     * @param dataId
     * @return 0:添加失败,1:添加成功
     */
    @Override
    public int delete(int dataId) {
        return tabaseDao.delete(dataId);
    }

    /**
     * 修改ta交易数据
     * @param tabase
     * @return 删除影响的行数(0 : 删除失败, 1 : 删除成功)
     */
    @Override
    public int update(Tabase tabase) {
        return tabaseDao.update(tabase);
    }

    /**
     * 查询所有
     * @return
     */
    @Override
    public List<Tabase> QueryAll() {
        return tabaseDao.QueryAll();
    }

    /**
     * 按条件分页查询
     * @param rows      每页行数
     * @param pages     页数
     * @param condition 查询条件
     * @return 交易数据对象集合
     */
    @Override
    public List<Tabase> findByPage(int rows, int pages,String condition) {
        int start=(pages-1)*rows;
        int row=pages*rows+1;
        return tabaseDao.findByPage(start,row,condition);
    }

    /**
     * 按条件统计记录数
     *
     * @param condition 统计条件
     * @return 记录行数
     */
    @Override
    public int count(String condition) {
        return tabaseDao.count(condition);
    }

    /**
     * 获取查询条件
     *
     * @param tabase 对象
     * @return 条件字符串
     */
    @Override
    public String getCondition(Tabase tabase) {
        //定义查询条件字符串，初值为带空格的字符串(注意后续条件中的空格)
        String condition=" ";
        //如果员工对象为空，则直接返回空字符串
        if(tabase==null){
            return condition;
        }
        //如果存在
        if(tabase.getDates()!=null){
            SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd");
            condition += " and dates=to_date('"+ SDF.format(tabase.getDates())+"','yyyy-MM-dd')";
        }
        //如果交易编号不为0
        if(tabase.getTranType()!=0){
            condition += " and tranType="+tabase.getTranType();
        }
        //如果交易编号不为0
        if(tabase.getTranStatus()!=0){
            condition += " and tranStatus="+tabase.getTranStatus();
        }
        //返回条件字符串
        return condition;
    }

    /**
     * 调用券商设置数据
     * @return
     */
    @Override
    public List<SettingOfSecurities> querySet() {
        return tabaseDao.querySet();
    }



}
